package condominio.DAO;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

import condominio.excepcion.DAOExcepcion;
import condominio.modelo.Mensaje;
import condominio.util.ConexionBD;

public class MensajeDAO extends BaseDAO{
	public ArrayList<Mensaje> listar() throws DAOExcepcion {
	    ArrayList<Mensaje> c = new ArrayList<Mensaje>();
	    Connection con = null;
	    PreparedStatement stmt = null;
	    ResultSet rs = null;
	    try {
	            con = ConexionBD.obtenerConexion();
	            String query = "select codigoMensaje,fechaPublicacion,titulo,contenido from Mensaje order by fechaPublicacion";
	            stmt = con.prepareStatement(query);
	            rs = stmt.executeQuery();
	            while (rs.next()) {
	            	Mensaje vo = new Mensaje();
	                    vo.setCodigoMensaje(rs.getInt("codigoMensaje"));
	                    vo.setFechaPublicacion(rs.getDate("fechaPublicacion"));
	                    vo.setTitulo(rs.getString("titulo"));
	                    vo.setContenido(rs.getString("contenido"));
	                    c.add(vo);
	            }

	    } catch (SQLException e) {
	            System.err.println(e.getMessage());
	            throw new DAOExcepcion(e.getMessage());
	    } finally {
	            this.cerrarResultSet(rs);
	            this.cerrarStatement(stmt);
	            this.cerrarConexion(con);
	    }
	    return c;
	}
}
